package com.moli.iov.handle.alarm.service;

import com.moli.iov.handle.alarm.model.dto.AuthDto;
import com.moli.iov.handle.alarm.model.dto.VehicleBaseDto;
import com.moli.iov.handle.alarm.model.dto.VehicleFenceDto;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 调用 其它服务
 * </p>
 *
 * @author zql
 * @since 2019/9/27 15:45
 */
public interface IAlarmOtherService {


  /**
   * 查询基础服务
   * @param vin
   * @return
   */
  VehicleBaseDto queryVehicleBaseTbox(String vin);

  /**
   * 查询上报时间
   * @param vin
   * @return
   */
  Date getRealTimeInfo(String vin);

  /**
   * 查询车辆的围栏
   * @param vin
   * @return
   */
  Map<String, List<VehicleFenceDto>> listFencesByVin(String vin);

  /**
   * tbox是否已授权
   * @param vin
   * @return
   */
  AuthDto isAuthorized(String vin);

  /**
   * 获取最后上报时间
   * @param vins
   * @return
   */
  Map<String, Date> getLastReportTimeMap(List<String> vins);

  /**
   * 查询所有在网车辆
   * @return
   */
  List<String> listVehicleBase();
}
